package com.simplefaith.delisty.client.packet;

import com.simplefaith.delisty.client.model.PacketWork;

public abstract class ClientPacket {

	private ClientPacketHandleState packetState;
	private final PacketWork packetWork;	
		
	public ClientPacket(PacketWork packetWork){
		this.packetWork = packetWork;
	}

	public ClientPacketHandleState getPacketState() {
		return packetState;
	}
	
	protected PacketWork getPacketWork(){
		return packetWork;
	}

	public abstract int getOpCode();

	public abstract void ServerAcceptPacket();

	public abstract void ServerRejectPacket();

	public abstract String getPacket();

	public enum ClientPacketHandleState {
		Request, Accept, Reject
	}

}
